package com.wanwu.channel.service.strategy;



import com.wanwu.channel.common.enums.PayType;
import com.wanwu.channel.dao.entity.ChannelRefundEntity;
import com.wanwu.channel.dto.vo.*;
import com.wanwu.channel.service.strategy.domain.*;

import java.util.Map;

/**
 * @author zhy
 * @date 2019-12-29
 * @descrption 支付策略路由
 */
public interface PayStrategy {

    /**
     * 调用对应支付平台组装支付请求报文
     * @param payType 传入需要的支付方式
     * @param req  其他额外需要的参数
     * @return 生成的支付请求
     */
    PrepayStrategyResponse generatePayParams(PayType payType, PrepayStrategyReqVo req);

    /**
     * 调用对应支付平台的查询
     * @param payType
     * @param request
     * @return
     */
    PayQueryStrategyRespVo queryPayHttp(PayType payType, PayQueryStrategyReqVo request);


}
